/**
 * QuestionService接口扩展了BaseService，提供了对Question领域对象的常见操作
 * 它包含了一些特定于Question的操作，比如分页查询、插入和更新带有完整信息的问题等
 */
package com.tangcco.lockwell.service;
import com.tangcco.lockwell.domain.Question;
import com.tangcco.lockwell.viewmodel.admin.question.*;
import org.apache.ibatis.annotations.Param;

import javax.validation.Valid;
import java.util.List;
/*薛明宇*/
public interface QuestionService extends BaseService<QuestionVm>{
    List<Question> page(QuestionPageRequestVM requestVM);

    QuestionVm selectById(@Param("id") Integer id);

    //联表查询
    List<QuestionVm> selectAll(QuestionPageRequestVM questionPageRequestVM);
    //通过Id查全部
    QuestionVm selectByIds(Integer id);

    Question selectBaseInfoById(Integer id);

    int updateByIdS(QuestionVMUpdate questionVm);
    //联表查询
    List<QuestionVm> selectAllOther(QuestionPageRequestOtherVM questionPageRequestOtherVM);
    //添加
    int insertQuestion(QuestionVMUpdate questionVMUpdate);

    //根据Id查询题目
    public QuestionEditRequestVM selectQuestionById(Integer id);

    int inserts(Question question);
    //查询question数量
    int selectCount();
}
